﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Guada
{
    public partial class FrmAtencionPaciente : Plantilla
    {
        string Historial;
        string Profesional;
        string Especialidad;
        private string Documento;

        public FrmAtencionPaciente(string sHistorial, string sProfesional, string sEspecialidad)
        {
            InitializeComponent();
            Historial = sHistorial;
            Profesional = sProfesional;
            Especialidad = sEspecialidad;
        }

        private void FrmAtencionPaciente_Load(object sender, EventArgs e)
        {
            try
            {
                CargarDatos();
                CargarDgHistorial();
            }
            catch
            {
                MessageBox.Show("", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
                this.Close();
            }
        }

        private void BtnEstudios_Click(object sender, EventArgs e)
        {
            FrmEstudios estudios = new FrmEstudios(lblsHistoria.Text);
            estudios.SetProfesional(Profesional);
            estudios.SetEspecialidad(Especialidad);
            estudios.ShowDialog();
        }

        private void BntHistoria_Click(object sender, EventArgs e)
        {
            FrmAgregarHC nuevo = new FrmAgregarHC(lblsHistoria.Text, Profesional, Especialidad);
            nuevo.ShowDialog();
            CargarDatos();
        }

        private void BtnCancelar_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void CargarDatos()
        {
            try
            {
                FacProFacu.Sistema sistema = new FacProFacu.Sistema();
                lblsEspecialidad.Text = sistema.GetEspecialidad(Especialidad);
                lblsProf.Text = sistema.GetProfesional(Profesional);
                lblsHistoria.Text = Historial;

                FacProFacu.Paciente paciente = new FacProFacu.Paciente();
                DataTable Dt = paciente.GetPacienteHC(Historial).Tables["PACIENTE"];
                if (Dt.Rows.Count > 0)
                {
                    lblsNombre.Text = Dt.Rows[0]["APELLIDO"].ToString().ToUpper() + ", " + Dt.Rows[0]["NOMBRE"].ToString();
                    lblsFecha.Text = Dt.Rows[0]["FEC_NAC"].ToString();
                    lblsSexo.Text = Dt.Rows[0]["DESCSEXO"].ToString();
                    Documento = Dt.Rows[0]["NRODOC"].ToString();
                }
            }
            catch(Exception e)
            {
                MessageBox.Show(e.ToString(), "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
                this.Close();
            }
        }

        private void CargarDgHistorial()
        {
            try
            {
                FacProFacu.HistoriaClinica Historial = new FacProFacu.HistoriaClinica();
                dgHistorial.DataSource = Historial.GetHistoriaSolicitada(Documento).Tables["HCI"];

                DataGridViewColumn col;
                dgHistorial.AutoGenerateColumns = false;
                dgHistorial.Columns.Clear();

                col = new DataGridViewTextBoxColumn();
                col.DataPropertyName = "PROFESIONAL";
                col.Name = "PROFESIONAL";
                col.Width = 125;
                col.HeaderText = "Profesional";
                col.ReadOnly = true;
                dgHistorial.Columns.Add(col);
                col.Visible = true;

                col = new DataGridViewTextBoxColumn();
                col.DataPropertyName = "ESPECIALIDAD";
                col.Name = "ESPECIALIDAD";
                col.Width = 125;
                col.HeaderText = "Especialidad";
                col.ReadOnly = true;
                dgHistorial.Columns.Add(col);

                col = new DataGridViewTextBoxColumn();
                col.DataPropertyName = "DESCRIPCION";
                col.Name = "DESCRIPCION";
                col.Width = 350;
                col.HeaderText = "Diagnostico";
                col.ReadOnly = true;
                dgHistorial.Columns.Add(col);

                //if (((DataTable)dgHistorial.DataSource).Rows.Count > 0)
                //    dgHistorial.Rows[0].Selected = true;
            }
            catch(Exception e)
            {
                MessageBox.Show(e.ToString(), "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
                this.Close();
            }
        }

        private void dgHistorial_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                //string sParam = dgHistorial.Rows[dgHistorial.CurrentRow.Index].Cells[1].Value.ToString();
                //FrmDetalleHC Detalle = new FrmDetalleHC(sParam);
                //Detalle.ShowDialog();
            }
            catch { }
        }

    }
}
